Chargement des librairies

Chargement des données brutes

Transformation

  • Transformation log2 centré et mise à l’échelle interquartile pour CPMG et NOESY
  • Transformation CLR pour OTU (log et centré = center log ratio)
    cf code html métabo

Chargement et filtre des données

Garder uniquement les OTUs présents dans >30% des échantillons (on ne fera rien des autres pour le réseau).
compter nbre de 0 dans chaque colonne et ne retenir que ceux présents dans au moins 30% des échantillons soit 253 sur 846

Sortie : >huge::huge.roc(se\(est\)path, graph, verbose=FALSE)

True Postive Rate: from 0 to 0.988806 False Positive Rate: from 0 to 0.7952971 Area under Curve: 0.7800105 Maximum F1 Score: 0.9760311 > stars.pr(getOptMerge(se), graph, verbose=FALSE)

True Postive Rate: from 0 to 0.9626866 False Positive Rate: from 0 to 0.1032948 Area under Curve: 0.9778643 Maximum F1 Score: 0.9642207

chargement des simulations effectuées avec différentes méthodes

MB, Glasso et SparCC
Exemple de commande :
se.mb.biom_1 <- spiec.easi(otu_table(filter_biom), method=‘mb’, lambda.min.ratio=1e-3, nlambda=20, pulsar.params=list(rep.num=50, ncores=16))
se.gl.biom_1 <- spiec.easi(otu_table(filter_biom), method=‘glasso’, lambda.min.ratio=1e-3, nlambda=20,pulsar.params=list(rep.num=50, ncores=16))
réalisé sur différents lambda.min.ratio
λ=1e-3 λ=1e-2 λ=0.05 λ=0.1 λ=0.15 λ=0.2 λ=0.3

#load("spiec_easi.Rdata")
#load("spiec_easi2.Rdata")
#load("spiec_easi_filt.Rdata")
#se.mb.biom_init <- se.mb.biom
#se.gl.biom_init <-  se.gl.biom
#load("spiec_easi_filt_teste1.Rdata")
#load("spiec_easi_filt_teste2.Rdata")
#load("spiec_easi_p1.Rdata")


load("spiec_easi_gl_mb.Rdata")

## Define arbitrary threshold for SparCC correlation matrix for the graph
sparcc.graph <- abs(sparcc.biom$Cor) >= 0.3
diag(sparcc.graph) <- 0

sparcc.graph <- Matrix(sparcc.graph, sparse=TRUE)
## Create igraph objects

#lambda.min.ratio=1e-3  
ig.mb_1     <- adj2igraph(getRefit(se.mb.biom_1))
ig.gl_1     <- adj2igraph(getRefit(se.gl.biom_1))
ig.sparcc_1 <- adj2igraph(sparcc.graph)

#lambda.min.ratio=1e-2 val par défaut
ig.mb     <- adj2igraph(getRefit(se.mb.biom))
ig.gl     <- adj2igraph(getRefit(se.gl.biom))
ig.sparcc <- adj2igraph(sparcc.graph)

#lambda.min.ratio=5e-2
ig.mb005     <- adj2igraph(getRefit(se.mb.biom005))
ig.gl005     <- adj2igraph(getRefit(se.gl.biom005))
ig.sparcc005 <- adj2igraph(sparcc.graph)

#lambda.min.ratio=0.1
ig.mb01     <- adj2igraph(getRefit(se.mb.biom01))
ig.gl01     <- adj2igraph(getRefit(se.gl.biom01))
ig.sparcc01 <- adj2igraph(sparcc.graph)

#lambda.min.ratio=0.15
ig.mb015    <- adj2igraph(getRefit(se.mb.biom015))
ig.gl015    <- adj2igraph(getRefit(se.gl.biom015))
ig.sparcc015 <- adj2igraph(sparcc.graph)

#lambda.min.ratio=0.2
ig.mb02     <- adj2igraph(getRefit(se.mb.biom02))
ig.gl02     <- adj2igraph(getRefit(se.gl.biom02))
ig.sparcc02 <- adj2igraph(sparcc.graph)


#lambda.min.ratio=0.3
ig.mb03     <- adj2igraph(getRefit(se.mb.biom03))
ig.gl03    <- adj2igraph(getRefit(se.gl.biom03))
ig.sparcc03 <- adj2igraph(sparcc.graph)

Visualisation

Evaluation du poids des liaisons du reseau (edge)

degrés de statistique des réseaux inférrés par quelques méthodes

Visualisation du reseau par famille

Methode MB

Méthode Glasso

test à l’espèce

Trop d’espèce impossible de visualiser le reseau. Il faudrait ne garder que les 10 plus representer

Learning latent variable graphical models